Skip to content

Comments

Release v1.6.0#26

Merged
jonrandahl merged 32 commits intomainfrom
task/package-updates-2025-07
Jul 29, 2025
Merged

Release v1.6.0#26
jonrandahl merged 32 commits intomainfrom
task/package-updates-2025-07

Conversation

@jonrandahl
Copy link
Contributor

@jonrandahl jonrandahl commented Jul 28, 2025

This pull request introduces several updates to modernize the codebase, improve compatibility, and enhance reliability. Key changes include upgrading the Ruby version, updating dependencies, revising VCR setups, and refreshing configurations for better maintainability.

Ruby Version Upgrade and Configuration Updates:

  • Updated TargetRubyVersion in .rubocop.yml to 3.4 and replaced IgnoredPatterns with AllowedPatterns for line length checks. (.rubocop.yml, .rubocop.ymlL2-R10)
  • Updated .ruby-version to 3.4.4. (.ruby-version, .ruby-versionL1-R1)
  • Changed required_ruby_version in data_services_api.gemspec to >= 3.4. (data_services_api.gemspec, data_services_api.gemspecL17-R30)

Dependency Management:

  • Refreshed the Gemfile by simplifying development and test dependencies and adding new gems such as mutex_m and ostruct. (Gemfile, GemfileR8-R24)
  • Updated gem dependencies in data_services_api.gemspec, including replacing faraday_middleware with individual Faraday plugins like faraday-retry and faraday-follow_redirects. (data_services_api.gemspec, data_services_api.gemspecL17-R30)

VCR and Testing Enhancements:

  • Revised VCR cassettes to reflect updated HTTP client interactions using Faraday 2.13.4. Updated recorded responses to include additional headers and metadata. (fixtures/vcr_cassettes/*, [1] [2] [3] [4]

Documentation:

  • Added a new entry in CHANGELOG.md for version 1.6.0, summarizing the Ruby version upgrade, dependency refresh, and other enhancements. (CHANGELOG.md, CHANGELOG.mdR3-R12)

- Update version from 2.7.8 to 3.4.4
- Ensure compatibility with newer Ruby features
- Require Ruby version >= 3.4 for compatibility
- Update faraday dependencies for improved functionality
- Replace specific middleware dependencies with core faraday packages
- Adjust json and yajl-ruby dependencies to broader ranges
- Aligns project with Ruby 3.4 for improved performance and support
- Ensures compatibility with latest libraries and features
- Remove version constraints on development gems
- Ensure consistency and flexibility for dependency updates
- Remove outdated ignore patterns
- Add new patterns for common Rails and Ruby files
- Standardise gitignore using generator
- Introduces initial lock file for dependency management
- Ensures consistent gem versions across environments
- Facilitates future updates and dependency resolution
- Streamlines exception handling in HTTP requests
- Refines retry strategy with custom options
- Integrates logger configuration for Rails environments
- Upgrade minitest to version 5.25.5
- Upgrade minitest-rg to version 5.3.0
- Ensure compatibility with the latest library features
- Aim to improve test framework support
- Bumps rake version from 13.0.6 to 13.3.0
- Ensures compatibility with the latest libraries
- Enhances potential performance and security
- Bumps simplecov to version 0.22.0 for improved compatibility
- Ensures better reporting features with latest updates
- Enhances compatibility with latest dependencies
- Fixes potential issues with outdated webmock version
- Update excon gem dependency for improved compatibility
- Introduce logger dependency to maintain functionality
- Upgrades mocha dependency to version 2.7.1 for improved performance and compatibility
- Adds ruby2_keywords as a new dependency to support mocha requirements
- Replace deprecated middleware with updated components
- Add encoding, redirect, and retry features for improved HTTP handling
- Rename 'instrumenter' to 'mock_notifier' for better clarity
- Enhance code readability with consistent naming
- Prepare for easier debugging by adding breakpoints
- Adjusts URL construction to properly handle secure protocols
- Uses URI library for consistent URL generation
- Ensures APIs with improper schemes are defaulted to a base URL
- Replaces direct Rails check with helper method to enhance readability
- Preserves logger response configuration outside Rails environment
- Replaces throw with raising a custom exception for clearer error reporting
- Changes json slicing to ensure handling of non-string input
- Moves logger setup to improve configuration readability
- Retains functionality within a Rails environment
- Allow parsing non-string inputs by converting to JSON
- Improve parsing logic for better complexity management
- Adds Faraday::TimeoutError to rescue block
- Improves error handling for network timeouts
- Adjusts wording to enhance clarity of log message
- Corrects pluralisation for row count output
- Add checks for query methods and terms type
- Ensure non-nil response with expected size
- Change log check from first to last for duration
- Simplify duration validation by directly checking as float
- Add handling for resource not found exceptions
- Update retry logic to include new exception
- Adjust tests for updated error handling
- Update VCR files with new API responses and recorded details
- Update HTTP interactions reflecting server response headers
- Add new VCR cassette for handling API service exception
- Remove old duplicate API exception handling file
- Address inconsistencies in recorded VCR requests

Relates to improvements in API test coverage and reliability
- Moves the byebug gem to be required conditionally
- Ensures byebug loads only in development and testing
- Bumps minor version from 1.5.4 to 1.6.0
- Freezes version string for immutability
- Update TargetRubyVersion to 3.4 for compatibility
- Refresh dependencies for better stability
- Refactor logging and error handling for clarity
- Enhance JSON parsing reliability
- Revise VCR setups with new HTTP client
- Expand .gitignore to cover more files
- Include Gemfile.lock for consistent dependencies
- Replace ignored patterns with allowed patterns
- Enhance consistency in pattern usage
- No change in ignored file paths
- Remove unused configuration for test files
- Streamline gem specification settings
- Simplifies code logic for response key transformation
- Refines operation string assignment method
- Removes unnecessary linting suppressions in JSON parsing function
@jonrandahl jonrandahl marked this pull request as ready for review July 29, 2025 07:40
@jonrandahl jonrandahl self-assigned this Jul 29, 2025
Copy link
Contributor

@DanielCouzens DanielCouzens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@jonrandahl jonrandahl merged commit 4610c52 into main Jul 29, 2025
4 checks passed
@jonrandahl jonrandahl deleted the task/package-updates-2025-07 branch July 29, 2025 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants